<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Caffe: caffe::Net&lt; Dtype &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Caffe
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacecaffe.html">caffe</a></li><li class="navelem"><a class="el" href="classcaffe_1_1Net.html">Net</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classcaffe_1_1Net-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">caffe::Net&lt; Dtype &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Connects <a class="el" href="classcaffe_1_1Layer.html" title="An interface for the units of computation which can be composed into a Net. ">Layer</a>s together into a directed acyclic graph (DAG) specified by a NetParameter.  
 <a href="classcaffe_1_1Net.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="net_8hpp_source.html">net.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net_1_1Callback.html">Callback</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5a5655a49c702c6c4a2f5bd7bf7adf12"><td class="memItemLeft" align="right" valign="top"><a id="a5a5655a49c702c6c4a2f5bd7bf7adf12"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Net</b> (const NetParameter &amp;param)</td></tr>
<tr class="separator:a5a5655a49c702c6c4a2f5bd7bf7adf12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac42c11d2fa9546421d6c5cd7f83330b3"><td class="memItemLeft" align="right" valign="top"><a id="ac42c11d2fa9546421d6c5cd7f83330b3"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Net</b> (const string &amp;param_file, Phase <a class="el" href="classcaffe_1_1Net.html#a9418aee447ff6e847fd1a5e7be3d7a44">phase</a>, const int level=0, const vector&lt; string &gt; *stages=NULL)</td></tr>
<tr class="separator:ac42c11d2fa9546421d6c5cd7f83330b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9fcfaabc89165d6c0cb4b14b4c6b584"><td class="memItemLeft" align="right" valign="top"><a id="ae9fcfaabc89165d6c0cb4b14b4c6b584"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#ae9fcfaabc89165d6c0cb4b14b4c6b584">Init</a> (const NetParameter &amp;param)</td></tr>
<tr class="memdesc:ae9fcfaabc89165d6c0cb4b14b4c6b584"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a network with a NetParameter. <br /></td></tr>
<tr class="separator:ae9fcfaabc89165d6c0cb4b14b4c6b584"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f6cf9d40637f7576828d856bb1b1826"><td class="memItemLeft" align="right" valign="top"><a id="a6f6cf9d40637f7576828d856bb1b1826"></a>
const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a6f6cf9d40637f7576828d856bb1b1826">Forward</a> (Dtype *loss=NULL)</td></tr>
<tr class="memdesc:a6f6cf9d40637f7576828d856bb1b1826"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run Forward and return the result. <br /></td></tr>
<tr class="separator:a6f6cf9d40637f7576828d856bb1b1826"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12f8c6cf9f453cdbc9fa8149986303c6"><td class="memItemLeft" align="right" valign="top"><a id="a12f8c6cf9f453cdbc9fa8149986303c6"></a>
const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a12f8c6cf9f453cdbc9fa8149986303c6">ForwardPrefilled</a> (Dtype *loss=NULL)</td></tr>
<tr class="memdesc:a12f8c6cf9f453cdbc9fa8149986303c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">DEPRECATED; use <a class="el" href="classcaffe_1_1Net.html#a6f6cf9d40637f7576828d856bb1b1826" title="Run Forward and return the result. ">Forward()</a> instead. <br /></td></tr>
<tr class="separator:a12f8c6cf9f453cdbc9fa8149986303c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5354c03371d4cb7b18988561790e676"><td class="memItemLeft" align="right" valign="top">Dtype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#ae5354c03371d4cb7b18988561790e676">ForwardFromTo</a> (int start, int end)</td></tr>
<tr class="separator:ae5354c03371d4cb7b18988561790e676"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7da4abdebcea6a65ca61ef6afb61665f"><td class="memItemLeft" align="right" valign="top"><a id="a7da4abdebcea6a65ca61ef6afb61665f"></a>
Dtype&#160;</td><td class="memItemRight" valign="bottom"><b>ForwardFrom</b> (int start)</td></tr>
<tr class="separator:a7da4abdebcea6a65ca61ef6afb61665f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e78782abd9080626ad13daac3abf896"><td class="memItemLeft" align="right" valign="top"><a id="a9e78782abd9080626ad13daac3abf896"></a>
Dtype&#160;</td><td class="memItemRight" valign="bottom"><b>ForwardTo</b> (int end)</td></tr>
<tr class="separator:a9e78782abd9080626ad13daac3abf896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac78806e7aa069439622de4177323c46c"><td class="memItemLeft" align="right" valign="top"><a id="ac78806e7aa069439622de4177323c46c"></a>
const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#ac78806e7aa069439622de4177323c46c">Forward</a> (const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; * &gt; &amp;bottom, Dtype *loss=NULL)</td></tr>
<tr class="memdesc:ac78806e7aa069439622de4177323c46c"><td class="mdescLeft">&#160;</td><td class="mdescRight">DEPRECATED; set input blobs then use <a class="el" href="classcaffe_1_1Net.html#a6f6cf9d40637f7576828d856bb1b1826" title="Run Forward and return the result. ">Forward()</a> instead. <br /></td></tr>
<tr class="separator:ac78806e7aa069439622de4177323c46c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d251c397f812a6d8e162db3a82bb198"><td class="memItemLeft" align="right" valign="top"><a id="a3d251c397f812a6d8e162db3a82bb198"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a3d251c397f812a6d8e162db3a82bb198">ClearParamDiffs</a> ()</td></tr>
<tr class="memdesc:a3d251c397f812a6d8e162db3a82bb198"><td class="mdescLeft">&#160;</td><td class="mdescRight">Zeroes out the diffs of all net parameters. Should be run before Backward. <br /></td></tr>
<tr class="separator:a3d251c397f812a6d8e162db3a82bb198"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a1a6d17347106dd1284b1b6d28cb4e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a7a1a6d17347106dd1284b1b6d28cb4e9">Backward</a> ()</td></tr>
<tr class="separator:a7a1a6d17347106dd1284b1b6d28cb4e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cbe2e5f4bdde638fb16568b629526dd"><td class="memItemLeft" align="right" valign="top"><a id="a4cbe2e5f4bdde638fb16568b629526dd"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>BackwardFromTo</b> (int start, int end)</td></tr>
<tr class="separator:a4cbe2e5f4bdde638fb16568b629526dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36843d26a781f42df9ac5852187df03b"><td class="memItemLeft" align="right" valign="top"><a id="a36843d26a781f42df9ac5852187df03b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>BackwardFrom</b> (int start)</td></tr>
<tr class="separator:a36843d26a781f42df9ac5852187df03b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c2d3c2909120250cc29cc98401e39d8"><td class="memItemLeft" align="right" valign="top"><a id="a1c2d3c2909120250cc29cc98401e39d8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>BackwardTo</b> (int end)</td></tr>
<tr class="separator:a1c2d3c2909120250cc29cc98401e39d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8417af82aa83be45d39aab735bdead1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a8417af82aa83be45d39aab735bdead1d">Reshape</a> ()</td></tr>
<tr class="memdesc:a8417af82aa83be45d39aab735bdead1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reshape all layers from bottom to top.  <a href="#a8417af82aa83be45d39aab735bdead1d">More...</a><br /></td></tr>
<tr class="separator:a8417af82aa83be45d39aab735bdead1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ff72974f0f1ba2edc2cb0f76fd41b56"><td class="memItemLeft" align="right" valign="top"><a id="a3ff72974f0f1ba2edc2cb0f76fd41b56"></a>
Dtype&#160;</td><td class="memItemRight" valign="bottom"><b>ForwardBackward</b> ()</td></tr>
<tr class="separator:a3ff72974f0f1ba2edc2cb0f76fd41b56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a2544cefc59d6cbe1bf634f5d5be1c5"><td class="memItemLeft" align="right" valign="top"><a id="a8a2544cefc59d6cbe1bf634f5d5be1c5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a8a2544cefc59d6cbe1bf634f5d5be1c5">Update</a> ()</td></tr>
<tr class="memdesc:a8a2544cefc59d6cbe1bf634f5d5be1c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the network weights based on the diff values computed. <br /></td></tr>
<tr class="separator:a8a2544cefc59d6cbe1bf634f5d5be1c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4850fdb3eea1b04c97642546c0dcccf7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a4850fdb3eea1b04c97642546c0dcccf7">ShareWeights</a> ()</td></tr>
<tr class="memdesc:a4850fdb3eea1b04c97642546c0dcccf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shares weight data of owner blobs with shared blobs.  <a href="#a4850fdb3eea1b04c97642546c0dcccf7">More...</a><br /></td></tr>
<tr class="separator:a4850fdb3eea1b04c97642546c0dcccf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3661ca5f30bf8e731cb54cfc3c320023"><td class="memItemLeft" align="right" valign="top"><a id="a3661ca5f30bf8e731cb54cfc3c320023"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a3661ca5f30bf8e731cb54cfc3c320023">ShareTrainedLayersWith</a> (const <a class="el" href="classcaffe_1_1Net.html">Net</a> *other)</td></tr>
<tr class="memdesc:a3661ca5f30bf8e731cb54cfc3c320023"><td class="mdescLeft">&#160;</td><td class="mdescRight">For an already initialized net, implicitly copies (i.e., using no additional memory) the pre-trained layers from another <a class="el" href="classcaffe_1_1Net.html" title="Connects Layers together into a directed acyclic graph (DAG) specified by a NetParameter. ">Net</a>. <br /></td></tr>
<tr class="separator:a3661ca5f30bf8e731cb54cfc3c320023"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ac2b69748470f54d530bc5dfa05b9c3"><td class="memItemLeft" align="right" valign="top"><a id="a4ac2b69748470f54d530bc5dfa05b9c3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a4ac2b69748470f54d530bc5dfa05b9c3">CopyTrainedLayersFrom</a> (const NetParameter &amp;param)</td></tr>
<tr class="memdesc:a4ac2b69748470f54d530bc5dfa05b9c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">For an already initialized net, copies the pre-trained layers from another <a class="el" href="classcaffe_1_1Net.html" title="Connects Layers together into a directed acyclic graph (DAG) specified by a NetParameter. ">Net</a>. <br /></td></tr>
<tr class="separator:a4ac2b69748470f54d530bc5dfa05b9c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5e222ad89011558cee681133e5c610b"><td class="memItemLeft" align="right" valign="top"><a id="ad5e222ad89011558cee681133e5c610b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>CopyTrainedLayersFrom</b> (const string trained_filename)</td></tr>
<tr class="separator:ad5e222ad89011558cee681133e5c610b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9bb09568db19316e9604eb8cbd15f6d"><td class="memItemLeft" align="right" valign="top"><a id="ad9bb09568db19316e9604eb8cbd15f6d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>CopyTrainedLayersFromBinaryProto</b> (const string trained_filename)</td></tr>
<tr class="separator:ad9bb09568db19316e9604eb8cbd15f6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab84341fd27c8c573f00c517bea051c2b"><td class="memItemLeft" align="right" valign="top"><a id="ab84341fd27c8c573f00c517bea051c2b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>CopyTrainedLayersFromHDF5</b> (const string trained_filename)</td></tr>
<tr class="separator:ab84341fd27c8c573f00c517bea051c2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ce42e3be6f7b495fe2fea85db2e99f8"><td class="memItemLeft" align="right" valign="top"><a id="a6ce42e3be6f7b495fe2fea85db2e99f8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a6ce42e3be6f7b495fe2fea85db2e99f8">ToProto</a> (NetParameter *param, bool write_diff=false) const</td></tr>
<tr class="memdesc:a6ce42e3be6f7b495fe2fea85db2e99f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the net to a proto. <br /></td></tr>
<tr class="separator:a6ce42e3be6f7b495fe2fea85db2e99f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3ac317bbc872bc6ed48d19f4d986ecc"><td class="memItemLeft" align="right" valign="top"><a id="ad3ac317bbc872bc6ed48d19f4d986ecc"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#ad3ac317bbc872bc6ed48d19f4d986ecc">ToHDF5</a> (const string &amp;filename, bool write_diff=false) const</td></tr>
<tr class="memdesc:ad3ac317bbc872bc6ed48d19f4d986ecc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the net to an HDF5 file. <br /></td></tr>
<tr class="separator:ad3ac317bbc872bc6ed48d19f4d986ecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a521c084f91eefc041bd53f30f1cc1097"><td class="memItemLeft" align="right" valign="top"><a id="a521c084f91eefc041bd53f30f1cc1097"></a>
const string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a521c084f91eefc041bd53f30f1cc1097">name</a> () const</td></tr>
<tr class="memdesc:a521c084f91eefc041bd53f30f1cc1097"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the network name. <br /></td></tr>
<tr class="separator:a521c084f91eefc041bd53f30f1cc1097"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa550ba424fc7b90f2ccbbaa175c1ec18"><td class="memItemLeft" align="right" valign="top"><a id="aa550ba424fc7b90f2ccbbaa175c1ec18"></a>
const vector&lt; string &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#aa550ba424fc7b90f2ccbbaa175c1ec18">layer_names</a> () const</td></tr>
<tr class="memdesc:aa550ba424fc7b90f2ccbbaa175c1ec18"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the layer names <br /></td></tr>
<tr class="separator:aa550ba424fc7b90f2ccbbaa175c1ec18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaf1e942f1552b9c48bd9e834ede20e6"><td class="memItemLeft" align="right" valign="top"><a id="aeaf1e942f1552b9c48bd9e834ede20e6"></a>
const vector&lt; string &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#aeaf1e942f1552b9c48bd9e834ede20e6">blob_names</a> () const</td></tr>
<tr class="memdesc:aeaf1e942f1552b9c48bd9e834ede20e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the blob names <br /></td></tr>
<tr class="separator:aeaf1e942f1552b9c48bd9e834ede20e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab64573aa9187fb7540825d9338807a79"><td class="memItemLeft" align="right" valign="top"><a id="ab64573aa9187fb7540825d9338807a79"></a>
const vector&lt; shared_ptr&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#ab64573aa9187fb7540825d9338807a79">blobs</a> () const</td></tr>
<tr class="memdesc:ab64573aa9187fb7540825d9338807a79"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the blobs <br /></td></tr>
<tr class="separator:ab64573aa9187fb7540825d9338807a79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a174e8bb96b67f423f8c405dac2334a5a"><td class="memItemLeft" align="right" valign="top"><a id="a174e8bb96b67f423f8c405dac2334a5a"></a>
const vector&lt; shared_ptr&lt; <a class="el" href="classcaffe_1_1Layer.html">Layer</a>&lt; Dtype &gt; &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a174e8bb96b67f423f8c405dac2334a5a">layers</a> () const</td></tr>
<tr class="memdesc:a174e8bb96b67f423f8c405dac2334a5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the layers <br /></td></tr>
<tr class="separator:a174e8bb96b67f423f8c405dac2334a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9418aee447ff6e847fd1a5e7be3d7a44"><td class="memItemLeft" align="right" valign="top"><a id="a9418aee447ff6e847fd1a5e7be3d7a44"></a>
Phase&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a9418aee447ff6e847fd1a5e7be3d7a44">phase</a> () const</td></tr>
<tr class="memdesc:a9418aee447ff6e847fd1a5e7be3d7a44"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the phase: TRAIN or TEST <br /></td></tr>
<tr class="separator:a9418aee447ff6e847fd1a5e7be3d7a44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25c25c31ddf7a78c7dfded318798764c"><td class="memItemLeft" align="right" valign="top"><a id="a25c25c31ddf7a78c7dfded318798764c"></a>
const vector&lt; vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; * &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a25c25c31ddf7a78c7dfded318798764c">bottom_vecs</a> () const</td></tr>
<tr class="memdesc:a25c25c31ddf7a78c7dfded318798764c"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the bottom vecs for each layer &ndash; usually you won't need this unless you do per-layer checks such as gradients. <br /></td></tr>
<tr class="separator:a25c25c31ddf7a78c7dfded318798764c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9aace0b6b268d391101f0ce31be9fd1"><td class="memItemLeft" align="right" valign="top"><a id="ad9aace0b6b268d391101f0ce31be9fd1"></a>
const vector&lt; vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; * &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#ad9aace0b6b268d391101f0ce31be9fd1">top_vecs</a> () const</td></tr>
<tr class="memdesc:ad9aace0b6b268d391101f0ce31be9fd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the top vecs for each layer &ndash; usually you won't need this unless you do per-layer checks such as gradients. <br /></td></tr>
<tr class="separator:ad9aace0b6b268d391101f0ce31be9fd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e42b5eba7886385d2d4b6f457314968"><td class="memItemLeft" align="right" valign="top"><a id="a8e42b5eba7886385d2d4b6f457314968"></a>
const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a8e42b5eba7886385d2d4b6f457314968">top_ids</a> (int i) const</td></tr>
<tr class="memdesc:a8e42b5eba7886385d2d4b6f457314968"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the ids of the top blobs of layer i <br /></td></tr>
<tr class="separator:a8e42b5eba7886385d2d4b6f457314968"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ccd2bf8a1684171b7d7603cf20c0251"><td class="memItemLeft" align="right" valign="top"><a id="a7ccd2bf8a1684171b7d7603cf20c0251"></a>
const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a7ccd2bf8a1684171b7d7603cf20c0251">bottom_ids</a> (int i) const</td></tr>
<tr class="memdesc:a7ccd2bf8a1684171b7d7603cf20c0251"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the ids of the bottom blobs of layer i <br /></td></tr>
<tr class="separator:a7ccd2bf8a1684171b7d7603cf20c0251"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe9a3629ee7436c85ea141e841d859f8"><td class="memItemLeft" align="right" valign="top"><a id="abe9a3629ee7436c85ea141e841d859f8"></a>
const vector&lt; vector&lt; bool &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>bottom_need_backward</b> () const</td></tr>
<tr class="separator:abe9a3629ee7436c85ea141e841d859f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c18612b7683788a4b7f40265a7a38e0"><td class="memItemLeft" align="right" valign="top"><a id="a4c18612b7683788a4b7f40265a7a38e0"></a>
const vector&lt; Dtype &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>blob_loss_weights</b> () const</td></tr>
<tr class="separator:a4c18612b7683788a4b7f40265a7a38e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a878f773481d3014b972cab5f65642e58"><td class="memItemLeft" align="right" valign="top"><a id="a878f773481d3014b972cab5f65642e58"></a>
const vector&lt; bool &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>layer_need_backward</b> () const</td></tr>
<tr class="separator:a878f773481d3014b972cab5f65642e58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4df30bbef7db3a6069d4ab3d9238cb40"><td class="memItemLeft" align="right" valign="top"><a id="a4df30bbef7db3a6069d4ab3d9238cb40"></a>
const vector&lt; shared_ptr&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a4df30bbef7db3a6069d4ab3d9238cb40">params</a> () const</td></tr>
<tr class="memdesc:a4df30bbef7db3a6069d4ab3d9238cb40"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the parameters <br /></td></tr>
<tr class="separator:a4df30bbef7db3a6069d4ab3d9238cb40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ababc9943a5f0f006cded03aeb727a314"><td class="memItemLeft" align="right" valign="top"><a id="ababc9943a5f0f006cded03aeb727a314"></a>
const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>learnable_params</b> () const</td></tr>
<tr class="separator:ababc9943a5f0f006cded03aeb727a314"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae902a7a461c0a693ba1f0d4186ef8e42"><td class="memItemLeft" align="right" valign="top"><a id="ae902a7a461c0a693ba1f0d4186ef8e42"></a>
const vector&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#ae902a7a461c0a693ba1f0d4186ef8e42">params_lr</a> () const</td></tr>
<tr class="memdesc:ae902a7a461c0a693ba1f0d4186ef8e42"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the learnable parameter learning rate multipliers <br /></td></tr>
<tr class="separator:ae902a7a461c0a693ba1f0d4186ef8e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae028e0f6241f6d9f8af19bd855cff8cb"><td class="memItemLeft" align="right" valign="top"><a id="ae028e0f6241f6d9f8af19bd855cff8cb"></a>
const vector&lt; bool &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>has_params_lr</b> () const</td></tr>
<tr class="separator:ae028e0f6241f6d9f8af19bd855cff8cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bc1091f0033a8b6c321f1b50c931996"><td class="memItemLeft" align="right" valign="top"><a id="a1bc1091f0033a8b6c321f1b50c931996"></a>
const vector&lt; float &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a1bc1091f0033a8b6c321f1b50c931996">params_weight_decay</a> () const</td></tr>
<tr class="memdesc:a1bc1091f0033a8b6c321f1b50c931996"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the learnable parameter decay multipliers <br /></td></tr>
<tr class="separator:a1bc1091f0033a8b6c321f1b50c931996"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca6119790acd1da41f25d8a2955db232"><td class="memItemLeft" align="right" valign="top"><a id="aca6119790acd1da41f25d8a2955db232"></a>
const vector&lt; bool &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>has_params_decay</b> () const</td></tr>
<tr class="separator:aca6119790acd1da41f25d8a2955db232"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bc40bc25f238f2c8f63d806762672ba"><td class="memItemLeft" align="right" valign="top"><a id="a4bc40bc25f238f2c8f63d806762672ba"></a>
const map&lt; string, int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>param_names_index</b> () const</td></tr>
<tr class="separator:a4bc40bc25f238f2c8f63d806762672ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae4c9fb34c016449eb77537efba6033b"><td class="memItemLeft" align="right" valign="top"><a id="aae4c9fb34c016449eb77537efba6033b"></a>
const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>param_owners</b> () const</td></tr>
<tr class="separator:aae4c9fb34c016449eb77537efba6033b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80126ec711a7eb61dcb45dd93aaf3da4"><td class="memItemLeft" align="right" valign="top"><a id="a80126ec711a7eb61dcb45dd93aaf3da4"></a>
const vector&lt; string &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>param_display_names</b> () const</td></tr>
<tr class="separator:a80126ec711a7eb61dcb45dd93aaf3da4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b04ab79ff08386d5a6fd167fd7696a3"><td class="memItemLeft" align="right" valign="top"><a id="a6b04ab79ff08386d5a6fd167fd7696a3"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a6b04ab79ff08386d5a6fd167fd7696a3">num_inputs</a> () const</td></tr>
<tr class="memdesc:a6b04ab79ff08386d5a6fd167fd7696a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input and output blob numbers. <br /></td></tr>
<tr class="separator:a6b04ab79ff08386d5a6fd167fd7696a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a335522f32062225c472382dbb5aff176"><td class="memItemLeft" align="right" valign="top"><a id="a335522f32062225c472382dbb5aff176"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>num_outputs</b> () const</td></tr>
<tr class="separator:a335522f32062225c472382dbb5aff176"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a986652086c495810e1558208e60fd3a6"><td class="memItemLeft" align="right" valign="top"><a id="a986652086c495810e1558208e60fd3a6"></a>
const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>input_blobs</b> () const</td></tr>
<tr class="separator:a986652086c495810e1558208e60fd3a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ca04c0622bab2857e30c3e07ef85d9c"><td class="memItemLeft" align="right" valign="top"><a id="a1ca04c0622bab2857e30c3e07ef85d9c"></a>
const vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>output_blobs</b> () const</td></tr>
<tr class="separator:a1ca04c0622bab2857e30c3e07ef85d9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a904ff62c3013aa9e2a02687c7d01871a"><td class="memItemLeft" align="right" valign="top"><a id="a904ff62c3013aa9e2a02687c7d01871a"></a>
const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>input_blob_indices</b> () const</td></tr>
<tr class="separator:a904ff62c3013aa9e2a02687c7d01871a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7358f4e7ee8c689d83be22d31213fad8"><td class="memItemLeft" align="right" valign="top"><a id="a7358f4e7ee8c689d83be22d31213fad8"></a>
const vector&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>output_blob_indices</b> () const</td></tr>
<tr class="separator:a7358f4e7ee8c689d83be22d31213fad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e0397a88782627b93532800e825e42b"><td class="memItemLeft" align="right" valign="top"><a id="a5e0397a88782627b93532800e825e42b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_blob</b> (const string &amp;blob_name) const</td></tr>
<tr class="separator:a5e0397a88782627b93532800e825e42b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10fed2aead47dd28291d5edbb0385e4f"><td class="memItemLeft" align="right" valign="top"><a id="a10fed2aead47dd28291d5edbb0385e4f"></a>
const shared_ptr&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>blob_by_name</b> (const string &amp;blob_name) const</td></tr>
<tr class="separator:a10fed2aead47dd28291d5edbb0385e4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86c0a37d300bcf100d18f40b3f50032d"><td class="memItemLeft" align="right" valign="top"><a id="a86c0a37d300bcf100d18f40b3f50032d"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_layer</b> (const string &amp;layer_name) const</td></tr>
<tr class="separator:a86c0a37d300bcf100d18f40b3f50032d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5be1bd7e4b47070ebe725b80016a7e96"><td class="memItemLeft" align="right" valign="top"><a id="a5be1bd7e4b47070ebe725b80016a7e96"></a>
const shared_ptr&lt; <a class="el" href="classcaffe_1_1Layer.html">Layer</a>&lt; Dtype &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>layer_by_name</b> (const string &amp;layer_name) const</td></tr>
<tr class="separator:a5be1bd7e4b47070ebe725b80016a7e96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b43ec32a7940703ecc3d0fa80bb2f91"><td class="memItemLeft" align="right" valign="top"><a id="a5b43ec32a7940703ecc3d0fa80bb2f91"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_debug_info</b> (const bool value)</td></tr>
<tr class="separator:a5b43ec32a7940703ecc3d0fa80bb2f91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29cac2b39bbfcf0891d34deecdb4f2a9"><td class="memItemLeft" align="right" valign="top"><a id="a29cac2b39bbfcf0891d34deecdb4f2a9"></a>
const vector&lt; <a class="el" href="classcaffe_1_1Net_1_1Callback.html">Callback</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>before_forward</b> () const</td></tr>
<tr class="separator:a29cac2b39bbfcf0891d34deecdb4f2a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab38efc0662826a18034817b484ea0b88"><td class="memItemLeft" align="right" valign="top"><a id="ab38efc0662826a18034817b484ea0b88"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>add_before_forward</b> (<a class="el" href="classcaffe_1_1Net_1_1Callback.html">Callback</a> *value)</td></tr>
<tr class="separator:ab38efc0662826a18034817b484ea0b88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a262da4bf0282c2e8615d3bd0b3582991"><td class="memItemLeft" align="right" valign="top"><a id="a262da4bf0282c2e8615d3bd0b3582991"></a>
const vector&lt; <a class="el" href="classcaffe_1_1Net_1_1Callback.html">Callback</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>after_forward</b> () const</td></tr>
<tr class="separator:a262da4bf0282c2e8615d3bd0b3582991"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27f0234629c0131b23c577713bb8209e"><td class="memItemLeft" align="right" valign="top"><a id="a27f0234629c0131b23c577713bb8209e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>add_after_forward</b> (<a class="el" href="classcaffe_1_1Net_1_1Callback.html">Callback</a> *value)</td></tr>
<tr class="separator:a27f0234629c0131b23c577713bb8209e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56eb610394b69214ff9e4d6672c307bb"><td class="memItemLeft" align="right" valign="top"><a id="a56eb610394b69214ff9e4d6672c307bb"></a>
const vector&lt; <a class="el" href="classcaffe_1_1Net_1_1Callback.html">Callback</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>before_backward</b> () const</td></tr>
<tr class="separator:a56eb610394b69214ff9e4d6672c307bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed8cfa1dd96bef7fc39c232623995687"><td class="memItemLeft" align="right" valign="top"><a id="aed8cfa1dd96bef7fc39c232623995687"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>add_before_backward</b> (<a class="el" href="classcaffe_1_1Net_1_1Callback.html">Callback</a> *value)</td></tr>
<tr class="separator:aed8cfa1dd96bef7fc39c232623995687"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a331192ceb7cebfbe83177d00e98c67cc"><td class="memItemLeft" align="right" valign="top"><a id="a331192ceb7cebfbe83177d00e98c67cc"></a>
const vector&lt; <a class="el" href="classcaffe_1_1Net_1_1Callback.html">Callback</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>after_backward</b> () const</td></tr>
<tr class="separator:a331192ceb7cebfbe83177d00e98c67cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29a94f00de415c11ee57b0985c255827"><td class="memItemLeft" align="right" valign="top"><a id="a29a94f00de415c11ee57b0985c255827"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>add_after_backward</b> (<a class="el" href="classcaffe_1_1Net_1_1Callback.html">Callback</a> *value)</td></tr>
<tr class="separator:a29a94f00de415c11ee57b0985c255827"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a4a38a77b5f01ba4754e6007b9f1214f8"><td class="memItemLeft" align="right" valign="top"><a id="a4a38a77b5f01ba4754e6007b9f1214f8"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a4a38a77b5f01ba4754e6007b9f1214f8">FilterNet</a> (const NetParameter &amp;param, NetParameter *param_filtered)</td></tr>
<tr class="memdesc:a4a38a77b5f01ba4754e6007b9f1214f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove layers that the user specified should be excluded given the current phase, level, and stage. <br /></td></tr>
<tr class="separator:a4a38a77b5f01ba4754e6007b9f1214f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54e8c43fe3a0cd9bbbcfdefd2b1603d2"><td class="memItemLeft" align="right" valign="top"><a id="a54e8c43fe3a0cd9bbbcfdefd2b1603d2"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a54e8c43fe3a0cd9bbbcfdefd2b1603d2">StateMeetsRule</a> (const NetState &amp;state, const NetStateRule &amp;rule, const string &amp;layer_name)</td></tr>
<tr class="memdesc:a54e8c43fe3a0cd9bbbcfdefd2b1603d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">return whether NetState state meets NetStateRule rule <br /></td></tr>
<tr class="separator:a54e8c43fe3a0cd9bbbcfdefd2b1603d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a3aab736bc72b29c84dc3ee765ee453c4"><td class="memItemLeft" align="right" valign="top"><a id="a3aab736bc72b29c84dc3ee765ee453c4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a3aab736bc72b29c84dc3ee765ee453c4">AppendTop</a> (const NetParameter &amp;param, const int layer_id, const int top_id, set&lt; string &gt; *available_blobs, map&lt; string, int &gt; *blob_name_to_idx)</td></tr>
<tr class="memdesc:a3aab736bc72b29c84dc3ee765ee453c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a new top blob to the net. <br /></td></tr>
<tr class="separator:a3aab736bc72b29c84dc3ee765ee453c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ef3482f4e882e437c81affa77d91f32"><td class="memItemLeft" align="right" valign="top"><a id="a6ef3482f4e882e437c81affa77d91f32"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a6ef3482f4e882e437c81affa77d91f32">AppendBottom</a> (const NetParameter &amp;param, const int layer_id, const int bottom_id, set&lt; string &gt; *available_blobs, map&lt; string, int &gt; *blob_name_to_idx)</td></tr>
<tr class="memdesc:a6ef3482f4e882e437c81affa77d91f32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a new bottom blob to the net. <br /></td></tr>
<tr class="separator:a6ef3482f4e882e437c81affa77d91f32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fce7e829c10750543f3a79819d49393"><td class="memItemLeft" align="right" valign="top"><a id="a1fce7e829c10750543f3a79819d49393"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a1fce7e829c10750543f3a79819d49393">AppendParam</a> (const NetParameter &amp;param, const int layer_id, const int param_id)</td></tr>
<tr class="memdesc:a1fce7e829c10750543f3a79819d49393"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a new parameter blob to the net. <br /></td></tr>
<tr class="separator:a1fce7e829c10750543f3a79819d49393"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3751d6095c3d4f4384c52ad80bbd0d88"><td class="memItemLeft" align="right" valign="top"><a id="a3751d6095c3d4f4384c52ad80bbd0d88"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a3751d6095c3d4f4384c52ad80bbd0d88">ForwardDebugInfo</a> (const int layer_id)</td></tr>
<tr class="memdesc:a3751d6095c3d4f4384c52ad80bbd0d88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper for displaying debug info in Forward. <br /></td></tr>
<tr class="separator:a3751d6095c3d4f4384c52ad80bbd0d88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ddec52928f0488e1b1136a0d72db0a1"><td class="memItemLeft" align="right" valign="top"><a id="a0ddec52928f0488e1b1136a0d72db0a1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a0ddec52928f0488e1b1136a0d72db0a1">BackwardDebugInfo</a> (const int layer_id)</td></tr>
<tr class="memdesc:a0ddec52928f0488e1b1136a0d72db0a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper for displaying debug info in Backward. <br /></td></tr>
<tr class="separator:a0ddec52928f0488e1b1136a0d72db0a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93a439c92c9218f1dfff16f76d617faa"><td class="memItemLeft" align="right" valign="top"><a id="a93a439c92c9218f1dfff16f76d617faa"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a93a439c92c9218f1dfff16f76d617faa">UpdateDebugInfo</a> (const int param_id)</td></tr>
<tr class="memdesc:a93a439c92c9218f1dfff16f76d617faa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper for displaying debug info in Update. <br /></td></tr>
<tr class="separator:a93a439c92c9218f1dfff16f76d617faa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d52b2d075fa543e687cf61ba035a488"><td class="memItemLeft" align="right" valign="top"><a id="a3d52b2d075fa543e687cf61ba035a488"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>DISABLE_COPY_AND_ASSIGN</b> (<a class="el" href="classcaffe_1_1Net.html">Net</a>)</td></tr>
<tr class="separator:a3d52b2d075fa543e687cf61ba035a488"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:aef7021f31e355ab8f8991755125f6b2b"><td class="memItemLeft" align="right" valign="top"><a id="aef7021f31e355ab8f8991755125f6b2b"></a>
string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#aef7021f31e355ab8f8991755125f6b2b">name_</a></td></tr>
<tr class="memdesc:aef7021f31e355ab8f8991755125f6b2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The network name. <br /></td></tr>
<tr class="separator:aef7021f31e355ab8f8991755125f6b2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fe921a602b4f96602702a13ad605693"><td class="memItemLeft" align="right" valign="top"><a id="a1fe921a602b4f96602702a13ad605693"></a>
Phase&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a1fe921a602b4f96602702a13ad605693">phase_</a></td></tr>
<tr class="memdesc:a1fe921a602b4f96602702a13ad605693"><td class="mdescLeft">&#160;</td><td class="mdescRight">The phase: TRAIN or TEST. <br /></td></tr>
<tr class="separator:a1fe921a602b4f96602702a13ad605693"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9e30392aa01dcf182d1a5cbd34ec45e"><td class="memItemLeft" align="right" valign="top"><a id="ab9e30392aa01dcf182d1a5cbd34ec45e"></a>
vector&lt; shared_ptr&lt; <a class="el" href="classcaffe_1_1Layer.html">Layer</a>&lt; Dtype &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#ab9e30392aa01dcf182d1a5cbd34ec45e">layers_</a></td></tr>
<tr class="memdesc:ab9e30392aa01dcf182d1a5cbd34ec45e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Individual layers in the net. <br /></td></tr>
<tr class="separator:ab9e30392aa01dcf182d1a5cbd34ec45e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac792353f3cac826d97feea4b9eff3dff"><td class="memItemLeft" align="right" valign="top"><a id="ac792353f3cac826d97feea4b9eff3dff"></a>
vector&lt; string &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>layer_names_</b></td></tr>
<tr class="separator:ac792353f3cac826d97feea4b9eff3dff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41db3e5f1fd7a28c58a2c605a6af0c3b"><td class="memItemLeft" align="right" valign="top"><a id="a41db3e5f1fd7a28c58a2c605a6af0c3b"></a>
map&lt; string, int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>layer_names_index_</b></td></tr>
<tr class="separator:a41db3e5f1fd7a28c58a2c605a6af0c3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c4dbb09376c663637e2444a4fd452b0"><td class="memItemLeft" align="right" valign="top"><a id="a4c4dbb09376c663637e2444a4fd452b0"></a>
vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>layer_need_backward_</b></td></tr>
<tr class="separator:a4c4dbb09376c663637e2444a4fd452b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab033c0574fcbf1e67e22b9682677c64d"><td class="memItemLeft" align="right" valign="top"><a id="ab033c0574fcbf1e67e22b9682677c64d"></a>
vector&lt; shared_ptr&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#ab033c0574fcbf1e67e22b9682677c64d">blobs_</a></td></tr>
<tr class="memdesc:ab033c0574fcbf1e67e22b9682677c64d"><td class="mdescLeft">&#160;</td><td class="mdescRight">the blobs storing intermediate results between the layer. <br /></td></tr>
<tr class="separator:ab033c0574fcbf1e67e22b9682677c64d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0055d38b35ea1a2f44bd400dd6d10846"><td class="memItemLeft" align="right" valign="top"><a id="a0055d38b35ea1a2f44bd400dd6d10846"></a>
vector&lt; string &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>blob_names_</b></td></tr>
<tr class="separator:a0055d38b35ea1a2f44bd400dd6d10846"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45f232e36045689438a7e1d869ed399c"><td class="memItemLeft" align="right" valign="top"><a id="a45f232e36045689438a7e1d869ed399c"></a>
map&lt; string, int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>blob_names_index_</b></td></tr>
<tr class="separator:a45f232e36045689438a7e1d869ed399c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16cedebd7cc82e0b3a30617b71d4c3f7"><td class="memItemLeft" align="right" valign="top"><a id="a16cedebd7cc82e0b3a30617b71d4c3f7"></a>
vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>blob_need_backward_</b></td></tr>
<tr class="separator:a16cedebd7cc82e0b3a30617b71d4c3f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5bf2007047f749d9d111b0dfa220afc"><td class="memItemLeft" align="right" valign="top">vector&lt; vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; * &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#ac5bf2007047f749d9d111b0dfa220afc">bottom_vecs_</a></td></tr>
<tr class="separator:ac5bf2007047f749d9d111b0dfa220afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49ce49e288297963f0d9f7a6d790daa6"><td class="memItemLeft" align="right" valign="top"><a id="a49ce49e288297963f0d9f7a6d790daa6"></a>
vector&lt; vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>bottom_id_vecs_</b></td></tr>
<tr class="separator:a49ce49e288297963f0d9f7a6d790daa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7276d8a8b51a10bb269c46f6afb44b0"><td class="memItemLeft" align="right" valign="top"><a id="ae7276d8a8b51a10bb269c46f6afb44b0"></a>
vector&lt; vector&lt; bool &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>bottom_need_backward_</b></td></tr>
<tr class="separator:ae7276d8a8b51a10bb269c46f6afb44b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa834096a02382d9a881bf33694e72564"><td class="memItemLeft" align="right" valign="top"><a id="aa834096a02382d9a881bf33694e72564"></a>
vector&lt; vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; * &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#aa834096a02382d9a881bf33694e72564">top_vecs_</a></td></tr>
<tr class="memdesc:aa834096a02382d9a881bf33694e72564"><td class="mdescLeft">&#160;</td><td class="mdescRight">top_vecs stores the vectors containing the output for each layer <br /></td></tr>
<tr class="separator:aa834096a02382d9a881bf33694e72564"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacacd1d6a07c61694433d4ce5ca8b0be"><td class="memItemLeft" align="right" valign="top"><a id="aacacd1d6a07c61694433d4ce5ca8b0be"></a>
vector&lt; vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>top_id_vecs_</b></td></tr>
<tr class="separator:aacacd1d6a07c61694433d4ce5ca8b0be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3eef6ff47640210c6d8d6affb1fd86f8"><td class="memItemLeft" align="right" valign="top">vector&lt; Dtype &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a3eef6ff47640210c6d8d6affb1fd86f8">blob_loss_weights_</a></td></tr>
<tr class="separator:a3eef6ff47640210c6d8d6affb1fd86f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cbf183267aaf3376791cae1f87e453b"><td class="memItemLeft" align="right" valign="top"><a id="a6cbf183267aaf3376791cae1f87e453b"></a>
vector&lt; vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>param_id_vecs_</b></td></tr>
<tr class="separator:a6cbf183267aaf3376791cae1f87e453b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91c4180a2d5d02e4611aa0115d819b66"><td class="memItemLeft" align="right" valign="top"><a id="a91c4180a2d5d02e4611aa0115d819b66"></a>
vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>param_owners_</b></td></tr>
<tr class="separator:a91c4180a2d5d02e4611aa0115d819b66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a3106ac0e80ac35fa86bb1fa1389d57"><td class="memItemLeft" align="right" valign="top"><a id="a3a3106ac0e80ac35fa86bb1fa1389d57"></a>
vector&lt; string &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>param_display_names_</b></td></tr>
<tr class="separator:a3a3106ac0e80ac35fa86bb1fa1389d57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a311bb80fcaae27f867917392061ad327"><td class="memItemLeft" align="right" valign="top"><a id="a311bb80fcaae27f867917392061ad327"></a>
vector&lt; pair&lt; int, int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>param_layer_indices_</b></td></tr>
<tr class="separator:a311bb80fcaae27f867917392061ad327"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a341f8e5deb13d6851537e72155a38576"><td class="memItemLeft" align="right" valign="top"><a id="a341f8e5deb13d6851537e72155a38576"></a>
map&lt; string, int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>param_names_index_</b></td></tr>
<tr class="separator:a341f8e5deb13d6851537e72155a38576"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a083a9a4c3919721c833b53d5571a7400"><td class="memItemLeft" align="right" valign="top"><a id="a083a9a4c3919721c833b53d5571a7400"></a>
vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a083a9a4c3919721c833b53d5571a7400">net_input_blob_indices_</a></td></tr>
<tr class="memdesc:a083a9a4c3919721c833b53d5571a7400"><td class="mdescLeft">&#160;</td><td class="mdescRight">blob indices for the input and the output of the net <br /></td></tr>
<tr class="separator:a083a9a4c3919721c833b53d5571a7400"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad040ba707c05ef2a4ac86009cbd4a0ba"><td class="memItemLeft" align="right" valign="top"><a id="ad040ba707c05ef2a4ac86009cbd4a0ba"></a>
vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>net_output_blob_indices_</b></td></tr>
<tr class="separator:ad040ba707c05ef2a4ac86009cbd4a0ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeed682088cd2252f8402cb7b169d4f39"><td class="memItemLeft" align="right" valign="top"><a id="aeed682088cd2252f8402cb7b169d4f39"></a>
vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>net_input_blobs_</b></td></tr>
<tr class="separator:aeed682088cd2252f8402cb7b169d4f39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbcd68a31a7ddc67dcac789fe880da23"><td class="memItemLeft" align="right" valign="top"><a id="abbcd68a31a7ddc67dcac789fe880da23"></a>
vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>net_output_blobs_</b></td></tr>
<tr class="separator:abbcd68a31a7ddc67dcac789fe880da23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accf52332675952dd27dfc8d3c27fa583"><td class="memItemLeft" align="right" valign="top"><a id="accf52332675952dd27dfc8d3c27fa583"></a>
vector&lt; shared_ptr&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#accf52332675952dd27dfc8d3c27fa583">params_</a></td></tr>
<tr class="memdesc:accf52332675952dd27dfc8d3c27fa583"><td class="mdescLeft">&#160;</td><td class="mdescRight">The parameters in the network. <br /></td></tr>
<tr class="separator:accf52332675952dd27dfc8d3c27fa583"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8459836322f01d0774b199f39bf24aaa"><td class="memItemLeft" align="right" valign="top"><a id="a8459836322f01d0774b199f39bf24aaa"></a>
vector&lt; <a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt; Dtype &gt; * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>learnable_params_</b></td></tr>
<tr class="separator:a8459836322f01d0774b199f39bf24aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf8dfb59e46d62c9333f322cea631bd8"><td class="memItemLeft" align="right" valign="top">vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#adf8dfb59e46d62c9333f322cea631bd8">learnable_param_ids_</a></td></tr>
<tr class="separator:adf8dfb59e46d62c9333f322cea631bd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb1f85c97372f57336e4e1af3eb7b9db"><td class="memItemLeft" align="right" valign="top"><a id="aeb1f85c97372f57336e4e1af3eb7b9db"></a>
vector&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#aeb1f85c97372f57336e4e1af3eb7b9db">params_lr_</a></td></tr>
<tr class="memdesc:aeb1f85c97372f57336e4e1af3eb7b9db"><td class="mdescLeft">&#160;</td><td class="mdescRight">the learning rate multipliers for learnable_params_ <br /></td></tr>
<tr class="separator:aeb1f85c97372f57336e4e1af3eb7b9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace00e003ea4ff0512f67b607294fd0cf"><td class="memItemLeft" align="right" valign="top"><a id="ace00e003ea4ff0512f67b607294fd0cf"></a>
vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>has_params_lr_</b></td></tr>
<tr class="separator:ace00e003ea4ff0512f67b607294fd0cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad337cf5b16e69533f605dbe1f6932bc9"><td class="memItemLeft" align="right" valign="top"><a id="ad337cf5b16e69533f605dbe1f6932bc9"></a>
vector&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#ad337cf5b16e69533f605dbe1f6932bc9">params_weight_decay_</a></td></tr>
<tr class="memdesc:ad337cf5b16e69533f605dbe1f6932bc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">the weight decay multipliers for learnable_params_ <br /></td></tr>
<tr class="separator:ad337cf5b16e69533f605dbe1f6932bc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff06526c826350a77dd6d4f6d036b1dc"><td class="memItemLeft" align="right" valign="top"><a id="aff06526c826350a77dd6d4f6d036b1dc"></a>
vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>has_params_decay_</b></td></tr>
<tr class="separator:aff06526c826350a77dd6d4f6d036b1dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84349f399faa4246f8395e63c9334d56"><td class="memItemLeft" align="right" valign="top"><a id="a84349f399faa4246f8395e63c9334d56"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#a84349f399faa4246f8395e63c9334d56">memory_used_</a></td></tr>
<tr class="memdesc:a84349f399faa4246f8395e63c9334d56"><td class="mdescLeft">&#160;</td><td class="mdescRight">The bytes of memory used by this net. <br /></td></tr>
<tr class="separator:a84349f399faa4246f8395e63c9334d56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addc4e5501070ede24155d4c1bf9928a2"><td class="memItemLeft" align="right" valign="top"><a id="addc4e5501070ede24155d4c1bf9928a2"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcaffe_1_1Net.html#addc4e5501070ede24155d4c1bf9928a2">debug_info_</a></td></tr>
<tr class="memdesc:addc4e5501070ede24155d4c1bf9928a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to compute and display debug info for the net. <br /></td></tr>
<tr class="separator:addc4e5501070ede24155d4c1bf9928a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3acc83848533272277ec51dba0286189"><td class="memItemLeft" align="right" valign="top"><a id="a3acc83848533272277ec51dba0286189"></a>
vector&lt; <a class="el" href="classcaffe_1_1Net_1_1Callback.html">Callback</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>before_forward_</b></td></tr>
<tr class="separator:a3acc83848533272277ec51dba0286189"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30df46fee4469b52c52d5121cf8aa028"><td class="memItemLeft" align="right" valign="top"><a id="a30df46fee4469b52c52d5121cf8aa028"></a>
vector&lt; <a class="el" href="classcaffe_1_1Net_1_1Callback.html">Callback</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>after_forward_</b></td></tr>
<tr class="separator:a30df46fee4469b52c52d5121cf8aa028"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a0e374cc83794e4c6352bfc73471851"><td class="memItemLeft" align="right" valign="top"><a id="a5a0e374cc83794e4c6352bfc73471851"></a>
vector&lt; <a class="el" href="classcaffe_1_1Net_1_1Callback.html">Callback</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>before_backward_</b></td></tr>
<tr class="separator:a5a0e374cc83794e4c6352bfc73471851"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3ceeaa28b15c3bc72fa3677421f8e5a"><td class="memItemLeft" align="right" valign="top"><a id="aa3ceeaa28b15c3bc72fa3677421f8e5a"></a>
vector&lt; <a class="el" href="classcaffe_1_1Net_1_1Callback.html">Callback</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>after_backward_</b></td></tr>
<tr class="separator:aa3ceeaa28b15c3bc72fa3677421f8e5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename Dtype&gt;<br />
class caffe::Net&lt; Dtype &gt;</h3>

<p>Connects <a class="el" href="classcaffe_1_1Layer.html" title="An interface for the units of computation which can be composed into a Net. ">Layer</a>s together into a directed acyclic graph (DAG) specified by a NetParameter. </p>
<p>TODO(dox): more thorough description. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a7a1a6d17347106dd1284b1b6d28cb4e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a1a6d17347106dd1284b1b6d28cb4e9">&#9670;&nbsp;</a></span>Backward()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Dtype &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classcaffe_1_1Net.html">caffe::Net</a>&lt; Dtype &gt;::Backward </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The network backward should take no input and output, since it solely computes the gradient w.r.t the parameters, and the data has already been provided during the forward pass. </p>

</div>
</div>
<a id="ae5354c03371d4cb7b18988561790e676"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5354c03371d4cb7b18988561790e676">&#9670;&nbsp;</a></span>ForwardFromTo()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Dtype &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">Dtype <a class="el" href="classcaffe_1_1Net.html">caffe::Net</a>&lt; Dtype &gt;::ForwardFromTo </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>end</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The From and To variants of Forward and Backward operate on the (topological) ordering by which the net is specified. For general DAG networks, note that (1) computing from one layer to another might entail extra computation on unrelated branches, and (2) computation starting in the middle may be incorrect if all of the layers of a fan-in are not included. </p>

</div>
</div>
<a id="a8417af82aa83be45d39aab735bdead1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8417af82aa83be45d39aab735bdead1d">&#9670;&nbsp;</a></span>Reshape()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Dtype &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classcaffe_1_1Net.html">caffe::Net</a>&lt; Dtype &gt;::Reshape </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reshape all layers from bottom to top. </p>
<p>This is useful to propagate changes to layer sizes without running a forward pass, e.g. to compute output feature size. </p>

</div>
</div>
<a id="a4850fdb3eea1b04c97642546c0dcccf7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4850fdb3eea1b04c97642546c0dcccf7">&#9670;&nbsp;</a></span>ShareWeights()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Dtype &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classcaffe_1_1Net.html">caffe::Net</a>&lt; Dtype &gt;::ShareWeights </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Shares weight data of owner blobs with shared blobs. </p>
<p>Note: this is called by <a class="el" href="classcaffe_1_1Net.html#ae9fcfaabc89165d6c0cb4b14b4c6b584" title="Initialize a network with a NetParameter. ">Net::Init</a>, and thus should normally not be called manually. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a3eef6ff47640210c6d8d6affb1fd86f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3eef6ff47640210c6d8d6affb1fd86f8">&#9670;&nbsp;</a></span>blob_loss_weights_</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Dtype &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt;Dtype&gt; <a class="el" href="classcaffe_1_1Net.html">caffe::Net</a>&lt; Dtype &gt;::blob_loss_weights_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Vector of weight in the loss (or objective) function of each net blob, indexed by blob_id. </p>

</div>
</div>
<a id="ac5bf2007047f749d9d111b0dfa220afc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5bf2007047f749d9d111b0dfa220afc">&#9670;&nbsp;</a></span>bottom_vecs_</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Dtype &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt;vector&lt;<a class="el" href="classcaffe_1_1Blob.html">Blob</a>&lt;Dtype&gt;*&gt; &gt; <a class="el" href="classcaffe_1_1Net.html">caffe::Net</a>&lt; Dtype &gt;::bottom_vecs_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>bottom_vecs stores the vectors containing the input for each layer. They don't actually host the blobs (blobs_ does), so we simply store pointers. </p>

</div>
</div>
<a id="adf8dfb59e46d62c9333f322cea631bd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf8dfb59e46d62c9333f322cea631bd8">&#9670;&nbsp;</a></span>learnable_param_ids_</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Dtype &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt;int&gt; <a class="el" href="classcaffe_1_1Net.html">caffe::Net</a>&lt; Dtype &gt;::learnable_param_ids_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>The mapping from params_ -&gt; learnable_params_: we have learnable_param_ids_.size() == params_.size(), and learnable_params_[learnable_param_ids_[i]] == params_[i].get() if and only if params_[i] is an "owner"; otherwise, params_[i] is a sharer and learnable_params_[learnable_param_ids_[i]] gives its owner. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/caffe/<a class="el" href="net_8hpp_source.html">net.hpp</a></li>
<li>src/caffe/net.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Aug 3 2017 23:11:27 for Caffe by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
